<template>
    <div
        class="page_root"
        :key="queryUpdateFlag"
        data-page-name="附件补交审批详情页"
        data-page-identification="t_0qmx2r0fpk"
    >
        <a-spin :spinning="pageLoading.loading" :tip="pageLoading.tip">
            <!-- begin vid_2h3lae4re9 无附件模板文件 -->
            <!-- end vid_2h3lae4re9 无附件模板文件 -->
            <!-- begin vid_2on5d3ofsy 正在下载，请稍后 -->
            <!-- end vid_2on5d3ofsy 正在下载，请稍后 -->
            <!-- begin vid_a66h2jgxek 容器_ak0v3kpvfq -->
            <al-box class="vid_a66h2jgxek">
                <!-- begin vid_oupkm1qcq4 布局容器_gkoiaw61if -->
                <a-row class="vid_oupkm1qcq4" :slots="'24'">
                    <a-col :span="24">
                        <!-- begin vid_qda7xszz78 容器_pa5tx52lro -->
                        <al-box class="vid_qda7xszz78">
                            <!-- begin vid_sfilmvv65x 审批详情 -->
                            <span class="vid_sfilmvv65x"> 审批详情 </span>
                            <!-- end vid_sfilmvv65x 审批详情 -->
                        </al-box>
                        <!-- end vid_qda7xszz78 容器_pa5tx52lro -->
                        <!-- begin vid_sdigc5dmak 布局容器_egydrzc47r -->
                        <a-row
                            class="vid_sdigc5dmak"
                            :slots="'3:21:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:21:3:21'"
                        >
                            <a-col :span="3">
                                <!-- begin vid_0jjjn9opn0 容器_xxsm8xw85u -->
                                <al-box class="vid_0jjjn9opn0">
                                    <!-- begin vid_hte17hl8ou 简单文本_zds168dp53 -->
                                    <span class="vid_hte17hl8ou"> 审批类型 </span>
                                    <!-- end vid_hte17hl8ou 简单文本_zds168dp53 -->
                                </al-box>
                                <!-- end vid_0jjjn9opn0 容器_xxsm8xw85u -->
                            </a-col>
                            <a-col :span="21">
                                <!-- begin vid_lo5a0q3ej2 容器_tdskiw8d4d -->
                                <al-box class="vid_lo5a0q3ej2">
                                    <!-- begin vid_8ce19j1ydg 提交附件 -->
                                    <span class="vid_8ce19j1ydg">
                                        {{ renderStringInTemplate(vid_8ce19j1ydg_props.rt_text) }}
                                    </span>
                                    <!-- end vid_8ce19j1ydg 提交附件 -->
                                </al-box>
                                <!-- end vid_lo5a0q3ej2 容器_tdskiw8d4d -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_zf84t1z0ou 容器_m5im0xoasu -->
                                <al-box class="vid_zf84t1z0ou">
                                    <!-- begin vid_agftkz8uz8 项目名称 -->
                                    <span class="vid_agftkz8uz8"> 项目名称 </span>
                                    <!-- end vid_agftkz8uz8 项目名称 -->
                                </al-box>
                                <!-- end vid_zf84t1z0ou 容器_m5im0xoasu -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_tv8o9xz8w7 容器_skzh8d3rxo -->
                                <al-box class="vid_tv8o9xz8w7">
                                    <!-- begin vid_8o2vce0kw8 这里是项目名称 -->
                                    <span class="vid_8o2vce0kw8">
                                        {{ renderStringInTemplate(vid_8o2vce0kw8_props.rt_text) }}
                                    </span>
                                    <!-- end vid_8o2vce0kw8 这里是项目名称 -->
                                </al-box>
                                <!-- end vid_tv8o9xz8w7 容器_skzh8d3rxo -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_1js5v2r9t0 容器_ih3nvhpgc5 -->
                                <al-box class="vid_1js5v2r9t0">
                                    <!-- begin vid_jysgpgn70j 项目阶段 -->
                                    <span class="vid_jysgpgn70j"> 项目阶段 </span>
                                    <!-- end vid_jysgpgn70j 项目阶段 -->
                                </al-box>
                                <!-- end vid_1js5v2r9t0 容器_ih3nvhpgc5 -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_cjcrgsebb6 容器_b04l5bp23f -->
                                <al-box class="vid_cjcrgsebb6">
                                    <!-- begin vid_io6lji4vq4 这里是项目阶段 -->
                                    <span class="vid_io6lji4vq4">
                                        {{ renderStringInTemplate(vid_io6lji4vq4_props.rt_text) }}
                                    </span>
                                    <!-- end vid_io6lji4vq4 这里是项目阶段 -->
                                </al-box>
                                <!-- end vid_cjcrgsebb6 容器_b04l5bp23f -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_e2okkmgl3t 容器_39jnq69sni -->
                                <al-box class="vid_e2okkmgl3t">
                                    <!-- begin vid_1v0502ako2 任务名称 -->
                                    <span class="vid_1v0502ako2"> 任务名称 </span>
                                    <!-- end vid_1v0502ako2 任务名称 -->
                                </al-box>
                                <!-- end vid_e2okkmgl3t 容器_39jnq69sni -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_uh026olt73 容器_9waigd2pyu -->
                                <al-box class="vid_uh026olt73">
                                    <!-- begin vid_b6yjigkl3q 这里是任务名称 -->
                                    <span class="vid_b6yjigkl3q">
                                        {{ renderStringInTemplate(vid_b6yjigkl3q_props.rt_text) }}
                                    </span>
                                    <!-- end vid_b6yjigkl3q 这里是任务名称 -->
                                </al-box>
                                <!-- end vid_uh026olt73 容器_9waigd2pyu -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_0cbieojnyv 容器_y78o9c24bi -->
                                <al-box class="vid_0cbieojnyv">
                                    <!-- begin vid_w1evp6ephc 任务状态 -->
                                    <span class="vid_w1evp6ephc"> 任务状态 </span>
                                    <!-- end vid_w1evp6ephc 任务状态 -->
                                </al-box>
                                <!-- end vid_0cbieojnyv 容器_y78o9c24bi -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_sc7a8r4209 容器_dgavcrws3b -->
                                <al-box class="vid_sc7a8r4209">
                                    <!-- begin vid_qp4k4d9gl3 未启动 -->
                                    <span class="vid_qp4k4d9gl3">
                                        {{ renderStringInTemplate(vid_qp4k4d9gl3_props.rt_text) }}
                                    </span>
                                    <!-- end vid_qp4k4d9gl3 未启动 -->
                                </al-box>
                                <!-- end vid_sc7a8r4209 容器_dgavcrws3b -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_1bxdl9ja36 容器_7frrcnufci -->
                                <al-box class="vid_1bxdl9ja36">
                                    <!-- begin vid_atnq6bu02c 优先级 -->
                                    <span class="vid_atnq6bu02c"> 优先级 </span>
                                    <!-- end vid_atnq6bu02c 优先级 -->
                                </al-box>
                                <!-- end vid_1bxdl9ja36 容器_7frrcnufci -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_fa1rlwklge 容器_yvkv8kuygk -->
                                <al-box class="vid_fa1rlwklge">
                                    <!-- begin vid_sncshfitvt 高 -->
                                    <span class="vid_sncshfitvt">
                                        {{ renderStringInTemplate(vid_sncshfitvt_props.rt_text) }}
                                    </span>
                                    <!-- end vid_sncshfitvt 高 -->
                                </al-box>
                                <!-- end vid_fa1rlwklge 容器_yvkv8kuygk -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_xh3mjnc6ma 容器_5zyounpduy -->
                                <al-box class="vid_xh3mjnc6ma">
                                    <!-- begin vid_p9ht2tw5vc 任务类型 -->
                                    <span class="vid_p9ht2tw5vc"> 任务类型 </span>
                                    <!-- end vid_p9ht2tw5vc 任务类型 -->
                                </al-box>
                                <!-- end vid_xh3mjnc6ma 容器_5zyounpduy -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_hqn5xh09sk 容器_32t8roxirg -->
                                <al-box class="vid_hqn5xh09sk">
                                    <!-- begin vid_hp95j8xrxn 文本 -->
                                    <span class="vid_hp95j8xrxn">
                                        {{ renderStringInTemplate(vid_hp95j8xrxn_props.rt_text) }}
                                    </span>
                                    <!-- end vid_hp95j8xrxn 文本 -->
                                </al-box>
                                <!-- end vid_hqn5xh09sk 容器_32t8roxirg -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_8r3seec86v 容器_i2dqob8c76 -->
                                <al-box class="vid_8r3seec86v">
                                    <!-- begin vid_w0xdzipnk7 计划工时 -->
                                    <span class="vid_w0xdzipnk7"> 计划工时 </span>
                                    <!-- end vid_w0xdzipnk7 计划工时 -->
                                </al-box>
                                <!-- end vid_8r3seec86v 容器_i2dqob8c76 -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_f42tcbiz7z 容器_w1n7p2bhfh -->
                                <al-box class="vid_f42tcbiz7z">
                                    <!-- begin vid_p0hyrkkmw7 26 -->
                                    <span class="vid_p0hyrkkmw7">
                                        {{ renderStringInTemplate(vid_p0hyrkkmw7_props.rt_text) }}
                                    </span>
                                    <!-- end vid_p0hyrkkmw7 26 -->
                                </al-box>
                                <!-- end vid_f42tcbiz7z 容器_w1n7p2bhfh -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_42rm5m8dvp 容器_bbql4quzcf -->
                                <al-box class="vid_42rm5m8dvp">
                                    <!-- begin vid_tux0dci8di 实际工时 -->
                                    <span class="vid_tux0dci8di"> 实际工时 </span>
                                    <!-- end vid_tux0dci8di 实际工时 -->
                                </al-box>
                                <!-- end vid_42rm5m8dvp 容器_bbql4quzcf -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_q7bhples4k 容器_ktbysotfdi -->
                                <al-box class="vid_q7bhples4k">
                                    <!-- begin vid_urjvtoj54u 28 -->
                                    <span class="vid_urjvtoj54u">
                                        {{ renderStringInTemplate(vid_urjvtoj54u_props.rt_text) }}
                                    </span>
                                    <!-- end vid_urjvtoj54u 28 -->
                                </al-box>
                                <!-- end vid_q7bhples4k 容器_ktbysotfdi -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_7tn99inu2t 容器_lpy8p2sn76 -->
                                <al-box class="vid_7tn99inu2t">
                                    <!-- begin vid_7nubv3p02k 工时投入状态 -->
                                    <span class="vid_7nubv3p02k"> 工时投入状态 </span>
                                    <!-- end vid_7nubv3p02k 工时投入状态 -->
                                </al-box>
                                <!-- end vid_7tn99inu2t 容器_lpy8p2sn76 -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_uab1om86ks 容器_em17skr8io -->
                                <al-box class="vid_uab1om86ks">
                                    <!-- begin vid_sv3wlynl7n 超出 -->
                                    <span class="vid_sv3wlynl7n">
                                        {{ renderStringInTemplate(vid_sv3wlynl7n_props.rt_text) }}
                                    </span>
                                    <!-- end vid_sv3wlynl7n 超出 -->
                                </al-box>
                                <!-- end vid_uab1om86ks 容器_em17skr8io -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_nmu3lxdncr 容器_pfjpwybtqc -->
                                <al-box class="vid_nmu3lxdncr">
                                    <!-- begin vid_sakznfmij6 任务负责人 -->
                                    <span class="vid_sakznfmij6"> 任务负责人 </span>
                                    <!-- end vid_sakznfmij6 任务负责人 -->
                                </al-box>
                                <!-- end vid_nmu3lxdncr 容器_pfjpwybtqc -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_k6tmrw6knj 容器_l5vx3ihujn -->
                                <al-box class="vid_k6tmrw6knj">
                                    <!-- begin vid_pazokhx20e 张珊珊 -->
                                    <span class="vid_pazokhx20e">
                                        {{ renderStringInTemplate(vid_pazokhx20e_props.rt_text) }}
                                    </span>
                                    <!-- end vid_pazokhx20e 张珊珊 -->
                                </al-box>
                                <!-- end vid_k6tmrw6knj 容器_l5vx3ihujn -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_vxquccvrfm 容器_5t80h26xr3 -->
                                <al-box class="vid_vxquccvrfm">
                                    <!-- begin vid_wmrl07fc9t 审核员 -->
                                    <span class="vid_wmrl07fc9t"> 审核员 </span>
                                    <!-- end vid_wmrl07fc9t 审核员 -->
                                </al-box>
                                <!-- end vid_vxquccvrfm 容器_5t80h26xr3 -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_on8s9oqwha 容器_irax64cfc9 -->
                                <al-box class="vid_on8s9oqwha">
                                    <!-- begin vid_whsekrxwsy 张珊珊 -->
                                    <span class="vid_whsekrxwsy">
                                        {{ renderStringInTemplate(vid_whsekrxwsy_props.rt_text) }}
                                    </span>
                                    <!-- end vid_whsekrxwsy 张珊珊 -->
                                </al-box>
                                <!-- end vid_on8s9oqwha 容器_irax64cfc9 -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_tsi57xp757 容器_wyywu800ag -->
                                <al-box class="vid_tsi57xp757">
                                    <!-- begin vid_xfqmdcmgjn 任务执行人 -->
                                    <span class="vid_xfqmdcmgjn"> 任务执行人 </span>
                                    <!-- end vid_xfqmdcmgjn 任务执行人 -->
                                </al-box>
                                <!-- end vid_tsi57xp757 容器_wyywu800ag -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_butebueazf 容器_0ozlxcs1pe -->
                                <al-box class="vid_butebueazf">
                                    <!-- begin vid_vonhq9nbvm 好多人 -->
                                    <span class="vid_vonhq9nbvm">
                                        {{ renderStringInTemplate(vid_vonhq9nbvm_props.rt_text) }}
                                    </span>
                                    <!-- end vid_vonhq9nbvm 好多人 -->
                                </al-box>
                                <!-- end vid_butebueazf 容器_0ozlxcs1pe -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_ql98fm1bch 容器_o3go8ny81i -->
                                <al-box class="vid_ql98fm1bch">
                                    <!-- begin vid_wbejoztfdf 计划开始时间 -->
                                    <span class="vid_wbejoztfdf"> 计划开始时间 </span>
                                    <!-- end vid_wbejoztfdf 计划开始时间 -->
                                </al-box>
                                <!-- end vid_ql98fm1bch 容器_o3go8ny81i -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_pth36dg27v 容器_1tzsb1lup8 -->
                                <al-box class="vid_pth36dg27v">
                                    <!-- begin vid_gz4ovawl99 01-12 -->
                                    <span class="vid_gz4ovawl99">
                                        {{ renderStringInTemplate(vid_gz4ovawl99_props.rt_text) }}
                                    </span>
                                    <!-- end vid_gz4ovawl99 01-12 -->
                                </al-box>
                                <!-- end vid_pth36dg27v 容器_1tzsb1lup8 -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_v8igdcnuxn 容器_k5df5nu3d4 -->
                                <al-box class="vid_v8igdcnuxn">
                                    <!-- begin vid_yti85za95s 实际开始时间 -->
                                    <span class="vid_yti85za95s"> 实际开始时间 </span>
                                    <!-- end vid_yti85za95s 实际开始时间 -->
                                </al-box>
                                <!-- end vid_v8igdcnuxn 容器_k5df5nu3d4 -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_ohtbk6h975 容器_so7t3wcaws -->
                                <al-box class="vid_ohtbk6h975">
                                    <!-- begin vid_ss7wuj4d4s 01-13 -->
                                    <span class="vid_ss7wuj4d4s">
                                        {{ renderStringInTemplate(vid_ss7wuj4d4s_props.rt_text) }}
                                    </span>
                                    <!-- end vid_ss7wuj4d4s 01-13 -->
                                </al-box>
                                <!-- end vid_ohtbk6h975 容器_so7t3wcaws -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_c686s4arta 容器_12mrcgruo6 -->
                                <al-box class="vid_c686s4arta">
                                    <!-- begin vid_9egk6tm8st 计划结束时间 -->
                                    <span class="vid_9egk6tm8st"> 计划结束时间 </span>
                                    <!-- end vid_9egk6tm8st 计划结束时间 -->
                                </al-box>
                                <!-- end vid_c686s4arta 容器_12mrcgruo6 -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_2b0j1stypp 容器_mjm6k9vcaq -->
                                <al-box class="vid_2b0j1stypp">
                                    <!-- begin vid_4yzl296aw0 简单文本_e4719q3gr8 -->
                                    <span class="vid_4yzl296aw0">
                                        {{ renderStringInTemplate(vid_4yzl296aw0_props.rt_text) }}
                                    </span>
                                    <!-- end vid_4yzl296aw0 简单文本_e4719q3gr8 -->
                                </al-box>
                                <!-- end vid_2b0j1stypp 容器_mjm6k9vcaq -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_84pot5voos 容器_5d05m6vvwp -->
                                <al-box class="vid_84pot5voos">
                                    <!-- begin vid_65xmydktjd 实际结束时间 -->
                                    <span class="vid_65xmydktjd"> 实际结束时间 </span>
                                    <!-- end vid_65xmydktjd 实际结束时间 -->
                                </al-box>
                                <!-- end vid_84pot5voos 容器_5d05m6vvwp -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_k1bmqs6ds3 容器_atv74lvsoi -->
                                <al-box class="vid_k1bmqs6ds3">
                                    <!-- begin vid_82uba3n8hd 文本 -->
                                    <span class="vid_82uba3n8hd">
                                        {{ renderStringInTemplate(vid_82uba3n8hd_props.rt_text) }}
                                    </span>
                                    <!-- end vid_82uba3n8hd 文本 -->
                                </al-box>
                                <!-- end vid_k1bmqs6ds3 容器_atv74lvsoi -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_wfy8y7pwfx 容器_poo2s40inu -->
                                <al-box class="vid_wfy8y7pwfx">
                                    <!-- begin vid_9vwrvbtjeo 提交人 -->
                                    <span class="vid_9vwrvbtjeo"> 提交人 </span>
                                    <!-- end vid_9vwrvbtjeo 提交人 -->
                                </al-box>
                                <!-- end vid_wfy8y7pwfx 容器_poo2s40inu -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_adz2stpt23 容器_p4nicomt4z -->
                                <al-box class="vid_adz2stpt23">
                                    <!-- begin vid_7kscouc6mw 简单文本_t6c9u0zvr4 -->
                                    <span class="vid_7kscouc6mw">
                                        {{ renderStringInTemplate(vid_7kscouc6mw_props.rt_text) }}
                                    </span>
                                    <!-- end vid_7kscouc6mw 简单文本_t6c9u0zvr4 -->
                                </al-box>
                                <!-- end vid_adz2stpt23 容器_p4nicomt4z -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_kzw449s7qx 容器_0u544t6lwo -->
                                <al-box class="vid_kzw449s7qx">
                                    <!-- begin vid_cbq08qnu0s 提交时间 -->
                                    <span class="vid_cbq08qnu0s"> 提交时间 </span>
                                    <!-- end vid_cbq08qnu0s 提交时间 -->
                                </al-box>
                                <!-- end vid_kzw449s7qx 容器_0u544t6lwo -->
                            </a-col>
                            <a-col :span="5">
                                <!-- begin vid_0w1u73xif8 容器_isnj3xtqh7 -->
                                <al-box class="vid_0w1u73xif8">
                                    <!-- begin vid_jhcugt0qbz 简单文本_4607cj20ae -->
                                    <span class="vid_jhcugt0qbz">
                                        {{ renderStringInTemplate(vid_jhcugt0qbz_props.rt_text) }}
                                    </span>
                                    <!-- end vid_jhcugt0qbz 简单文本_4607cj20ae -->
                                </al-box>
                                <!-- end vid_0w1u73xif8 容器_isnj3xtqh7 -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_n68vhhcd63 容器_ndt9vbi0wl -->
                                <al-box class="vid_n68vhhcd63">
                                    <!-- begin vid_gqqk2a2eta 验收标准 -->
                                    <span class="vid_gqqk2a2eta"> 验收标准 </span>
                                    <!-- end vid_gqqk2a2eta 验收标准 -->
                                </al-box>
                                <!-- end vid_n68vhhcd63 容器_ndt9vbi0wl -->
                            </a-col>
                            <a-col :span="21">
                                <!-- begin vid_jhzhk0vh9s 容器_ybagc3fnh9 -->
                                <al-box class="vid_jhzhk0vh9s">
                                    <!-- begin vid_jv7cgcwchk 简单文本_lmlq9g8q7o -->
                                    <span class="vid_jv7cgcwchk">
                                        {{ renderStringInTemplate(vid_jv7cgcwchk_props.rt_text) }}
                                    </span>
                                    <!-- end vid_jv7cgcwchk 简单文本_lmlq9g8q7o -->
                                </al-box>
                                <!-- end vid_jhzhk0vh9s 容器_ybagc3fnh9 -->
                            </a-col>
                            <a-col :span="3">
                                <!-- begin vid_gq2pe9d4u9 容器_kjqe5qsjfv -->
                                <al-box class="vid_gq2pe9d4u9">
                                    <!-- begin vid_x3kcdlmafk 简单文本_zh8g7qauin -->
                                    <span class="vid_x3kcdlmafk"> 备注 </span>
                                    <!-- end vid_x3kcdlmafk 简单文本_zh8g7qauin -->
                                </al-box>
                                <!-- end vid_gq2pe9d4u9 容器_kjqe5qsjfv -->
                            </a-col>
                            <a-col :span="21">
                                <!-- begin vid_yfajotznpx 容器_tk7fjt2j9f -->
                                <al-box class="vid_yfajotznpx">
                                    <!-- begin vid_qi1mlh4c5x 简单文本_7z66pifebz -->
                                    <span class="vid_qi1mlh4c5x">
                                        {{ renderStringInTemplate(vid_qi1mlh4c5x_props.rt_text) }}
                                    </span>
                                    <!-- end vid_qi1mlh4c5x 简单文本_7z66pifebz -->
                                </al-box>
                                <!-- end vid_yfajotznpx 容器_tk7fjt2j9f -->
                            </a-col>
                        </a-row>
                        <!-- end vid_sdigc5dmak 布局容器_egydrzc47r -->
                    </a-col>
                </a-row>
                <!-- end vid_oupkm1qcq4 布局容器_gkoiaw61if -->
                <!-- begin vid_5amjfig1pl 布局容器_2ktap9jkm3 -->
                <a-row class="vid_5amjfig1pl" :gutter="16" :slots="'16:8'">
                    <a-col :span="16">
                        <!-- begin vid_b1hp2z2pjq 容器_y707i3cyjw -->
                        <al-box class="vid_b1hp2z2pjq">
                            <!-- begin vid_6k45k29qc4 容器_w4czfgbcbq -->
                            <al-box class="vid_6k45k29qc4">
                                <!-- begin vid_kgvx07500o 简单文本_4ewu6hf9xo -->
                                <span class="vid_kgvx07500o"> 检查项详情 </span>
                                <!-- end vid_kgvx07500o 简单文本_4ewu6hf9xo -->
                            </al-box>
                            <!-- end vid_6k45k29qc4 容器_w4czfgbcbq -->
                            <!-- begin vid_anayzmd7k5 容器_d43ewwrt2r -->
                            <al-box class="vid_anayzmd7k5">
                                <!-- begin vid_p08ykh206w 表单容器_b4iyth18wj -->
                                <a-form
                                    class="vid_p08ykh206w"
                                    :model="q_iaed61pve1"
                                    :formModel="vid_p08ykh206w_props.formModel"
                                >
                                    <!-- begin vid_plvu6gqeyc 布局容器_ue71o0b6b6 -->
                                    <a-row class="vid_plvu6gqeyc" :gutter="16">
                                        <a-col :span="8">
                                            <!-- begin vid_zorku0c8c0 容器_jtvwafs89x -->
                                            <al-box class="vid_zorku0c8c0">
                                                <!-- begin vid_t58d3e2pyj 表单项容器_2b8ok5mf91 -->
                                                <a-form-item
                                                    name="z_vnusptgo4k"
                                                    :rules="q_iaed61pve1_rules[`z_vnusptgo4k`]"
                                                    class="vid_t58d3e2pyj"
                                                    :label-col="{ 'span': 24 }"
                                                    :wrapper-col="{ 'span': 24 }"
                                                >
                                                    <!-- begin vid_eky2hmq95p 容器_erl4z1ny40 -->
                                                    <al-box class="vid_eky2hmq95p">
                                                        <!-- begin vid_333gqeduh5 复选框组_g3r9ydno1l -->
                                                        <a-checkbox-group
                                                            class="vid_333gqeduh5"
                                                            v-model:value="q_iaed61pve1.z_vnusptgo4k"
                                                            :disabled="true"
                                                            :selected="vid_333gqeduh5_props.selected"
                                                            :options="vid_333gqeduh5_options()"
                                                            @change="handle_vid_333gqeduh5_change"
                                                        />
                                                        <!-- end vid_333gqeduh5 复选框组_g3r9ydno1l -->
                                                    </al-box>
                                                    <!-- end vid_eky2hmq95p 容器_erl4z1ny40 -->
                                                    <template #label>
                                                        <!-- begin vid_vjjzav7qmg 容器_owev5656u7 -->
                                                        <al-box class="vid_vjjzav7qmg">
                                                            <!-- begin vid_ga6p8vnldi 按钮_ue47bx1x5g -->
                                                            <a-button
                                                                class="vid_ga6p8vnldi"
                                                                :size="'small'"
                                                                :type="'text'"
                                                            >
                                                                <template #icon><file-done-outlined /></template>
                                                            </a-button>
                                                            <!-- end vid_ga6p8vnldi 按钮_ue47bx1x5g -->
                                                            <!-- begin vid_ybvno7hci3 简单文本_01uf059rz1 -->
                                                            <span class="vid_ybvno7hci3"> 完成标准 </span>
                                                            <!-- end vid_ybvno7hci3 简单文本_01uf059rz1 -->
                                                        </al-box>
                                                        <!-- end vid_vjjzav7qmg 容器_owev5656u7 -->
                                                    </template>
                                                </a-form-item>
                                                <!-- end vid_t58d3e2pyj 表单项容器_2b8ok5mf91 -->
                                            </al-box>
                                            <!-- end vid_zorku0c8c0 容器_jtvwafs89x -->
                                        </a-col>
                                        <a-col :span="8">
                                            <!-- begin vid_ehoh8pt2lb 容器_zf5hehbv7i -->
                                            <al-box class="vid_ehoh8pt2lb">
                                                <!-- begin vid_6rwtheqpnk 表单项容器_elmexxig9y -->
                                                <a-form-item
                                                    name="n_ugem3gk4wu"
                                                    :rules="q_iaed61pve1_rules[`n_ugem3gk4wu`]"
                                                    class="vid_6rwtheqpnk"
                                                    :label-col="{ 'span': 24 }"
                                                    :wrapper-col="{ 'span': 24 }"
                                                >
                                                    <!-- begin vid_8kzfsf2lhu 容器_8hopxi6vmh -->
                                                    <al-box class="vid_8kzfsf2lhu">
                                                        <!-- begin vid_6o7ft9gcxr 复选框组_tx35eysktf -->
                                                        <a-checkbox-group
                                                            class="vid_6o7ft9gcxr"
                                                            v-model:value="q_iaed61pve1.n_ugem3gk4wu"
                                                            :disabled="true"
                                                            :selected="vid_6o7ft9gcxr_props.selected"
                                                            :options="vid_6o7ft9gcxr_options()"
                                                            @change="handle_vid_6o7ft9gcxr_change"
                                                        />
                                                        <!-- end vid_6o7ft9gcxr 复选框组_tx35eysktf -->
                                                    </al-box>
                                                    <!-- end vid_8kzfsf2lhu 容器_8hopxi6vmh -->
                                                    <template #label>
                                                        <!-- begin vid_asrcjumn8g 容器_np7vnf4skh -->
                                                        <al-box class="vid_asrcjumn8g">
                                                            <!-- begin vid_dgd23jscdw 按钮_1xpwwlciin -->
                                                            <a-button
                                                                class="vid_dgd23jscdw"
                                                                :size="'small'"
                                                                :type="'text'"
                                                            >
                                                                <template #icon><issues-close-outlined /></template>
                                                            </a-button>
                                                            <!-- end vid_dgd23jscdw 按钮_1xpwwlciin -->
                                                            <!-- begin vid_shrfl8uqye 审核标准 -->
                                                            <span class="vid_shrfl8uqye"> 审核标准 </span>
                                                            <!-- end vid_shrfl8uqye 审核标准 -->
                                                        </al-box>
                                                        <!-- end vid_asrcjumn8g 容器_np7vnf4skh -->
                                                    </template>
                                                </a-form-item>
                                                <!-- end vid_6rwtheqpnk 表单项容器_elmexxig9y -->
                                            </al-box>
                                            <!-- end vid_ehoh8pt2lb 容器_zf5hehbv7i -->
                                        </a-col>
                                        <a-col :span="8">
                                            <!-- begin vid_mq9f1g648m 容器_odwk2i5fm2 -->
                                            <al-box class="vid_mq9f1g648m">
                                                <!-- begin vid_vutt5on3s9 表单项容器_h7sciziivy -->
                                                <a-form-item
                                                    name="z_smqd6ov9cq"
                                                    :rules="q_iaed61pve1_rules[`z_smqd6ov9cq`]"
                                                    class="vid_vutt5on3s9"
                                                    :label-col="{ 'span': 24 }"
                                                    :wrapper-col="{ 'span': 24 }"
                                                >
                                                    <!-- begin vid_h3noefhyqx 复选框组_96an3mm9rf -->
                                                    <a-checkbox-group
                                                        class="vid_h3noefhyqx"
                                                        v-model:value="q_iaed61pve1.z_smqd6ov9cq"
                                                        :disabled="true"
                                                        :selected="vid_h3noefhyqx_props.selected"
                                                        :options="vid_h3noefhyqx_options()"
                                                        @change="handle_vid_h3noefhyqx_change"
                                                    />
                                                    <!-- end vid_h3noefhyqx 复选框组_96an3mm9rf -->
                                                    <template #label>
                                                        <!-- begin vid_30pa4jvpiw 容器_w2uml0a69z -->
                                                        <al-box class="vid_30pa4jvpiw">
                                                            <!-- begin vid_t13sdk1z88 按钮_6jd6a8q9wx -->
                                                            <a-button
                                                                class="vid_t13sdk1z88"
                                                                :size="'small'"
                                                                :type="'text'"
                                                            >
                                                                <template #icon><branches-outlined /></template>
                                                            </a-button>
                                                            <!-- end vid_t13sdk1z88 按钮_6jd6a8q9wx -->
                                                            <!-- begin vid_jsqzlgxfsi SOP -->
                                                            <span class="vid_jsqzlgxfsi"> SOP </span>
                                                            <!-- end vid_jsqzlgxfsi SOP -->
                                                        </al-box>
                                                        <!-- end vid_30pa4jvpiw 容器_w2uml0a69z -->
                                                    </template>
                                                </a-form-item>
                                                <!-- end vid_vutt5on3s9 表单项容器_h7sciziivy -->
                                            </al-box>
                                            <!-- end vid_mq9f1g648m 容器_odwk2i5fm2 -->
                                        </a-col>
                                    </a-row>
                                    <!-- end vid_plvu6gqeyc 布局容器_ue71o0b6b6 -->
                                </a-form>
                                <!-- end vid_p08ykh206w 表单容器_b4iyth18wj -->
                            </al-box>
                            <!-- end vid_anayzmd7k5 容器_d43ewwrt2r -->
                        </al-box>
                        <!-- end vid_b1hp2z2pjq 容器_y707i3cyjw -->
                    </a-col>
                    <a-col :span="8">
                        <!-- begin vid_z5ekmc27yn 容器_qbw2d9idic -->
                        <al-box class="vid_z5ekmc27yn">
                            <!-- begin vid_kek9mcs93b 容器_xt24tajwnp -->
                            <al-box class="vid_kek9mcs93b">
                                <!-- begin vid_zookdp4ax8 布局容器_tel0ij8pxb -->
                                <a-row class="vid_zookdp4ax8" :slots="'12:12'">
                                    <a-col :span="12">
                                        <!-- begin vid_fty1g7gff7 任务附件 -->
                                        <span class="vid_fty1g7gff7"> 任务附件 </span>
                                        <!-- end vid_fty1g7gff7 任务附件 -->
                                    </a-col>
                                    <a-col :span="12">
                                        <!-- begin vid_hvzoqo0daw 容器_crvbdju0uv -->
                                        <al-box class="vid_hvzoqo0daw">
                                            <!-- begin vid_kg9cu3s4qe 附件模版下载 -->
                                            <a-button
                                                class="vid_kg9cu3s4qe"
                                                :type="'primary'"
                                                @click="handle_vid_kg9cu3s4qe_click"
                                            >
                                                <template #icon><download-outlined /></template>

                                                附件模版下载
                                            </a-button>
                                            <!-- end vid_kg9cu3s4qe 附件模版下载 -->
                                        </al-box>
                                        <!-- end vid_hvzoqo0daw 容器_crvbdju0uv -->
                                    </a-col>
                                </a-row>
                                <!-- end vid_zookdp4ax8 布局容器_tel0ij8pxb -->
                            </al-box>
                            <!-- end vid_kek9mcs93b 容器_xt24tajwnp -->
                            <!-- begin vid_haox36kylx 容器_89s6s3elwu -->
                            <al-box class="vid_haox36kylx">
                                <!-- begin vid_u43fco82wd 自定义模板_lsfp8dt2wk -->
                                <!--                  预览-->
                                <a-modal
                                    v-model:visible="stateF.previewVisible"
                                    @cancel="handleCancel"
                                    width="1000px"
                                    title="图片预览"
                                    :footer="null"
                                >
                                    <div v-if="stateF.isImagePreview">
                                        <img :src="stateF.previewImage" alt="附件" style="width: 100%" />
                                    </div>
                                    <div v-else>
                                        <iframe
                                            :src="stateF.previewFileUrl"
                                            style="width: 100%; height: 500px"
                                        ></iframe>
                                    </div>
                                </a-modal>
                                <!--                  预览-->
                                <div class="file-main">
                                    <div v-for="(item, index) in ppmEnclosureInfoList" :key="index" class="file-item">
                                        <a-tooltip placement="top" :overlayStyle="standardStyle" color="#fff">
                                            <template #title>
                                                <p style="color: #262626; margin: 0">{{ item.name }} {{ text }}</p>
                                            </template>
                                            <div class="file-name">{{ item.name }}</div>
                                        </a-tooltip>
                                        <a-button
                                            :disabled="!item.type.startsWith('image')"
                                            type="link"
                                            @click="previewAttachment(item)"
                                            >预览</a-button
                                        >
                                        <a-button type="link" @click="handlerDownload(item)">下载</a-button>
                                    </div>
                                </div>
                                <!-- end vid_u43fco82wd 自定义模板_lsfp8dt2wk -->
                            </al-box>
                            <!-- end vid_haox36kylx 容器_89s6s3elwu -->
                        </al-box>
                        <!-- end vid_z5ekmc27yn 容器_qbw2d9idic -->
                    </a-col>
                </a-row>
                <!-- end vid_5amjfig1pl 布局容器_2ktap9jkm3 -->
            </al-box>
            <!-- end vid_a66h2jgxek 容器_ak0v3kpvfq -->
        </a-spin>
    </div>
</template>
<script setup lang="tsx">
    import {
        h,
        ref,
        reactive,
        toRaw,
        markRaw,
        watch,
        computed,
        onBeforeMount,
        onMounted,
        onBeforeUnmount,
        onUnmounted,
        onActivated,
        onDeactivated
    } from 'vue'
    import { useRoute, useRouter } from 'vue-router'

    const router = useRouter()
    const route = useRoute()
    import { get, post, put, del, request, requestWithHeaders } from '@/utils/http/Axios'
    import {
        cloneDeep,
        localGet,
        merge,
        getDifferenceArray,
        traversalTreeStructure,
        checkCaseCondition,
        renderStringInTemplate,
        handleBreadcrumbJump,
        throttle,
        permission,
        getComponentParamsValue
    } from '@/utils/index'
    import { isNullOrEmpty, isEmptyArr, isNullOrUnDef, isContained, isArray, isEmpty, isObject } from '@/utils/is'
    import dayjs from 'dayjs'
    import { getPagePcChartsDataSourceConvert } from '@/utils/chart'
    import { message, notification, Modal } from 'ant-design-vue'
    import {
        propertyFormatByNumber,
        propertyFormatByPercentage,
        propertyFormatByDate,
        parseSubFromDataList
    } from '@/utils/format'
    import colorTheme from '@/design/custom-theme.json'

    /*** PUBLISH_EXEGESIS ***
 import UserTableRecords from '@/model/UserTableRecords';
 import { getAppBaseUrl } from '@/utils/index';
 import { sendToken } from "@/hooks/useIframeToken";
 import { useSystemStore } from "@/store/modules/system";
 const systemStore = useSystemStore();
 *** PUBLISH_EXEGESIS ***/

    // 获取传入的流程ID和组件参数
    const props = defineProps({
        'processInstanceId': {
            type: [String, Number, Boolean],
            default: undefined
        }
    })
    const immediateWatch = (source, callback) => {
        watch(source, callback, { deep: true, immediate: true })
    }

    /* -------------------------- 属性定义 -------------------------- */

    const setTimeOutList = []
    const pageLoading = reactive({
        loading: false,
        tip: undefined
    })
    const authInfo = localGet('app-user-store')

    const vid_2h3lae4re9_props = reactive({
        show: false,
        type: 'error',
        content: '无附件模板文件',
        duration: 3
    })

    const vid_2on5d3ofsy_props = reactive({
        show: false,
        type: 'loading',
        content: '正在下载，请稍后',
        duration: 3
    })

    const vid_io6lji4vq4_props = reactive({
        rt_text: undefined
    })

    const vid_8o2vce0kw8_props = reactive({
        rt_text: undefined
    })

    const vid_8ce19j1ydg_props = reactive({
        rt_text: undefined
    })

    const vid_qp4k4d9gl3_props = reactive({
        rt_text: undefined
    })

    const vid_b6yjigkl3q_props = reactive({
        rt_text: undefined
    })

    const vid_sncshfitvt_props = reactive({
        rt_text: undefined
    })

    const vid_hp95j8xrxn_props = reactive({
        rt_text: undefined
    })

    const vid_p0hyrkkmw7_props = reactive({
        rt_text: undefined
    })

    const vid_urjvtoj54u_props = reactive({
        rt_text: undefined
    })

    const vid_sv3wlynl7n_props = reactive({
        rt_text: undefined
    })

    const vid_pazokhx20e_props = reactive({
        rt_text: undefined
    })

    const vid_whsekrxwsy_props = reactive({
        rt_text: undefined
    })

    const vid_vonhq9nbvm_props = reactive({
        rt_text: undefined
    })

    const vid_gz4ovawl99_props = reactive({
        rt_text: undefined
    })

    const vid_ss7wuj4d4s_props = reactive({
        rt_text: undefined
    })

    const vid_4yzl296aw0_props = reactive({
        rt_text: undefined
    })

    const vid_82uba3n8hd_props = reactive({
        rt_text: undefined
    })

    const vid_7kscouc6mw_props = reactive({
        rt_text: undefined
    })

    const vid_jhcugt0qbz_props = reactive({
        rt_text: undefined
    })

    const vid_jv7cgcwchk_props = reactive({
        rt_text: undefined
    })

    const vid_qi1mlh4c5x_props = reactive({
        rt_text: undefined
    })

    const vid_p08ykh206w_props = reactive({
        formModel: { 'z_vnusptgo4k': [], 'n_ugem3gk4wu': '', 'z_smqd6ov9cq': [] }
    })

    const vid_333gqeduh5_props = reactive({
        selected: { 'option': [], 'value': [], 'label': [] },
        value: []
    })

    const vid_6o7ft9gcxr_props = reactive({
        selected: { 'option': [], 'value': [], 'label': [] },
        value: undefined
    })

    const vid_h3noefhyqx_props = reactive({
        selected: { 'option': [], 'value': [], 'label': [] },
        value: []
    })
    // ---------------------------- 定义模型数据 ----------------------------

    const q_iaed61pve1 = reactive({ 'z_vnusptgo4k': [], 'z_smqd6ov9cq': [] })

    // ============================ 定义模型数据 ============================

    const q_iaed61pve1_rules = reactive({})

    // 处理校验
    const setSubFormName = (parentInfo, name) => {
        return [parentInfo.parents, parentInfo.cycleIndex, name]
    }

    const vid_333gqeduh5_options_raw = ref([])

    const vid_333gqeduh5_options = computed(() => {
        return (dataSource = vid_333gqeduh5_options_raw.value) => {
            return (dataSource || []).map(item => {
                return {
                    ...item,
                    value: item.id,
                    label: item.content,
                    disabled: !!item.disabled
                }
            })
        }
    })

    const vid_6o7ft9gcxr_options_raw = ref([])

    const vid_6o7ft9gcxr_options = computed(() => {
        return (dataSource = vid_6o7ft9gcxr_options_raw.value) => {
            return (dataSource || []).map(item => {
                return {
                    ...item,
                    value: item.id,
                    label: item.content,
                    disabled: !!item.disabled
                }
            })
        }
    })

    const vid_h3noefhyqx_options_raw = ref([])

    const vid_h3noefhyqx_options = computed(() => {
        return (dataSource = vid_h3noefhyqx_options_raw.value) => {
            return (dataSource || []).map(item => {
                return {
                    ...item,
                    value: item.id,
                    label: item.content,
                    disabled: !!item.disabled
                }
            })
        }
    })

    // 图表组件 复选框组_g3r9ydno1l 条件格式数据依赖
    const vid_333gqeduh5_chartConditionDependencyMap = ref({})
    // 图表组件 复选框组_tx35eysktf 条件格式数据依赖
    const vid_6o7ft9gcxr_chartConditionDependencyMap = ref({})
    // 图表组件 复选框组_96an3mm9rf 条件格式数据依赖
    const vid_h3noefhyqx_chartConditionDependencyMap = ref({})
    /* ========================== 属性定义 ========================== */

    /* -------------------------- 元素数据引用 -------------------------- */

    /* ========================== 元素数据引用 ========================== */

    /* -------------------------- 页面数据 -------------------------- */

    // 页面数据 审批详情
    const dataConnector_conn_m45gnsk0hr_response = ref()
    const dataConnector_conn_m45gnsk0hr = async (additionParams = {}) => {
        const exec = async () => {
            // 获取参数
            const params = {}

            // 注入附加的参数
            try {
                merge(params, additionParams)
            } catch (error) {
                console.log(error)
            }

            // 判断加载提示

            // 处理URL
            let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/{instanceId}'
            // 替换url中的变量
            url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
            // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
            Object.keys(params).forEach(key => {
                if (params[key] === null) {
                    delete params[key]
                } else if (Object.prototype.toString.call(params[key]) === '[object Object]') {
                    Object.keys(params[key]).forEach(childKey => {
                        if (
                            params[key][childKey] === null ||
                            (Array.isArray(params[key][childKey]) &&
                                params[key][childKey].length === 1 &&
                                isNullOrUnDef(params[key][childKey]?.[0]))
                        ) {
                            delete params[key][childKey]
                        }
                    })
                }
            })
            return get(url, params, {
                headers: undefined
            })
                .then(async resp => {
                    dataConnector_conn_m45gnsk0hr_response.value = resp

                    return resp
                })
                .catch(async e => {
                    return Promise.reject(e)
                })
                .finally(async () => {})
        }

        return await exec()
    }

    // 页面数据 完成任务审批详情
    const dataConnector_conn_rtucp29zln_response = ref()
    const dataConnector_conn_rtucp29zln = async (additionParams = {}) => {
        const exec = async () => {
            // 获取参数
            const params = {}

            // 注入附加的参数
            try {
                merge(params, additionParams)
            } catch (error) {
                console.log(error)
            }

            // 判断加载提示

            // 处理URL
            let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/task/{instanceId}'
            // 替换url中的变量
            url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
            // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
            Object.keys(params).forEach(key => {
                if (params[key] === null) {
                    delete params[key]
                } else if (Object.prototype.toString.call(params[key]) === '[object Object]') {
                    Object.keys(params[key]).forEach(childKey => {
                        if (
                            params[key][childKey] === null ||
                            (Array.isArray(params[key][childKey]) &&
                                params[key][childKey].length === 1 &&
                                isNullOrUnDef(params[key][childKey]?.[0]))
                        ) {
                            delete params[key][childKey]
                        }
                    })
                }
            })
            return get(url, params, {
                headers: undefined
            })
                .then(async resp => {
                    dataConnector_conn_rtucp29zln_response.value = resp

                    return resp
                })
                .catch(async e => {
                    return Promise.reject(e)
                })
                .finally(async () => {})
        }

        return await exec()
    }

    // 页面数据 任务审批详情中的任务风险分页
    const dataConnector_conn_trnrlsqdxj_response = ref()
    const dataConnector_conn_trnrlsqdxj = async (additionParams = {}) => {
        const exec = async () => {
            // 获取参数
            const params = {
                instanceId: pageParameter_state.processInstanceId,
                pageNo: vid_wqw4lh888w_props?.rt_tableConfig.pagination.current,
                pageSize: vid_wqw4lh888w_props?.rt_tableConfig.pagination.pageSize
            }

            // 注入附加的参数
            try {
                merge(params, additionParams)
            } catch (error) {
                console.log(error)
            }

            // 判断加载提示

            // 处理URL
            let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/taskRisk/list'
            // 替换url中的变量

            // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
            Object.keys(params).forEach(key => {
                if (params[key] === null) {
                    delete params[key]
                } else if (Object.prototype.toString.call(params[key]) === '[object Object]') {
                    Object.keys(params[key]).forEach(childKey => {
                        if (
                            params[key][childKey] === null ||
                            (Array.isArray(params[key][childKey]) &&
                                params[key][childKey].length === 1 &&
                                isNullOrUnDef(params[key][childKey]?.[0]))
                        ) {
                            delete params[key][childKey]
                        }
                    })
                }
            })
            return post(url, params, {
                headers: undefined
            })
                .then(async resp => {
                    dataConnector_conn_trnrlsqdxj_response.value = resp

                    return resp
                })
                .catch(async e => {
                    return Promise.reject(e)
                })
                .finally(async () => {})
        }

        return await exec()
    }

    // 页面数据 查询标准信息完成标准
    const dataConnector_conn_80alhkvp89_response = ref()
    const dataConnector_conn_80alhkvp89 = async (additionParams = {}) => {
        const exec = async () => {
            // 获取参数
            const params = {
                type: '完成标准'
            }

            // 注入附加的参数
            try {
                merge(params, additionParams)
            } catch (error) {
                console.log(error)
            }

            // 判断加载提示

            // 处理URL
            let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/{instanceId}/standard_info'
            // 替换url中的变量
            url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
            // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
            Object.keys(params).forEach(key => {
                if (params[key] === null) {
                    delete params[key]
                } else if (Object.prototype.toString.call(params[key]) === '[object Object]') {
                    Object.keys(params[key]).forEach(childKey => {
                        if (
                            params[key][childKey] === null ||
                            (Array.isArray(params[key][childKey]) &&
                                params[key][childKey].length === 1 &&
                                isNullOrUnDef(params[key][childKey]?.[0]))
                        ) {
                            delete params[key][childKey]
                        }
                    })
                }
            })
            return post(url, params, {
                headers: undefined
            })
                .then(async resp => {
                    dataConnector_conn_80alhkvp89_response.value = resp

                    return resp
                })
                .catch(async e => {
                    return Promise.reject(e)
                })
                .finally(async () => {})
        }

        return await exec()
    }

    // 页面数据 查询标准信息审核标准
    const dataConnector_conn_qqfu8de3jn_response = ref()
    const dataConnector_conn_qqfu8de3jn = async (additionParams = {}) => {
        const exec = async () => {
            // 获取参数
            const params = {
                type: '审核标准'
            }

            // 注入附加的参数
            try {
                merge(params, additionParams)
            } catch (error) {
                console.log(error)
            }

            // 判断加载提示

            // 处理URL
            let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/{instanceId}/standard_info'
            // 替换url中的变量
            url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
            // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
            Object.keys(params).forEach(key => {
                if (params[key] === null) {
                    delete params[key]
                } else if (Object.prototype.toString.call(params[key]) === '[object Object]') {
                    Object.keys(params[key]).forEach(childKey => {
                        if (
                            params[key][childKey] === null ||
                            (Array.isArray(params[key][childKey]) &&
                                params[key][childKey].length === 1 &&
                                isNullOrUnDef(params[key][childKey]?.[0]))
                        ) {
                            delete params[key][childKey]
                        }
                    })
                }
            })
            return post(url, params, {
                headers: undefined
            })
                .then(async resp => {
                    dataConnector_conn_qqfu8de3jn_response.value = resp

                    return resp
                })
                .catch(async e => {
                    return Promise.reject(e)
                })
                .finally(async () => {})
        }

        return await exec()
    }

    // 页面数据 查询标准信息审批标准及注意事项
    const dataConnector_conn_35sdq6sf6y_response = ref()
    const dataConnector_conn_35sdq6sf6y = async (additionParams = {}) => {
        const exec = async () => {
            // 获取参数
            const params = {
                type: null
            }

            // 注入附加的参数
            try {
                merge(params, additionParams)
            } catch (error) {
                console.log(error)
            }

            // 判断加载提示

            // 处理URL
            let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/{instanceId}/standard_info'
            // 替换url中的变量
            url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
            // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
            Object.keys(params).forEach(key => {
                if (params[key] === null) {
                    delete params[key]
                } else if (Object.prototype.toString.call(params[key]) === '[object Object]') {
                    Object.keys(params[key]).forEach(childKey => {
                        if (
                            params[key][childKey] === null ||
                            (Array.isArray(params[key][childKey]) &&
                                params[key][childKey].length === 1 &&
                                isNullOrUnDef(params[key][childKey]?.[0]))
                        ) {
                            delete params[key][childKey]
                        }
                    })
                }
            })
            return post(url, params, {
                headers: undefined
            })
                .then(async resp => {
                    dataConnector_conn_35sdq6sf6y_response.value = resp

                    return resp
                })
                .catch(async e => {
                    return Promise.reject(e)
                })
                .finally(async () => {})
        }

        return await exec()
    }

    // 页面数据 查询标准信息(sop)
    const dataConnector_conn_xaeuhbh32o_response = ref()
    const dataConnector_conn_xaeuhbh32o = async (additionParams = {}) => {
        const exec = async () => {
            // 获取参数
            const params = {
                type: 'sop'
            }

            // 注入附加的参数
            try {
                merge(params, additionParams)
            } catch (error) {
                console.log(error)
            }

            // 判断加载提示

            // 处理URL
            let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/{instanceId}/standard_info'
            // 替换url中的变量
            url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
            // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
            Object.keys(params).forEach(key => {
                if (params[key] === null) {
                    delete params[key]
                } else if (Object.prototype.toString.call(params[key]) === '[object Object]') {
                    Object.keys(params[key]).forEach(childKey => {
                        if (
                            params[key][childKey] === null ||
                            (Array.isArray(params[key][childKey]) &&
                                params[key][childKey].length === 1 &&
                                isNullOrUnDef(params[key][childKey]?.[0]))
                        ) {
                            delete params[key][childKey]
                        }
                    })
                }
            })
            return post(url, params, {
                headers: undefined
            })
                .then(async resp => {
                    dataConnector_conn_xaeuhbh32o_response.value = resp

                    return resp
                })
                .catch(async e => {
                    return Promise.reject(e)
                })
                .finally(async () => {})
        }

        return await exec()
    }

    /* ========================== 页面数据 ========================== */

    /* -------------------------- 响应 -------------------------- */

    /* ========================== 响应 ========================== */

    /* -------------------------- 函数 -------------------------- */

    // 自定义函数 附件模板
    const customFunction_qr69mxj1rx = params => {
        downLoadTemplate()
    }

    /* ========================== 函数 ========================== */

    /* -------------------------- 页面参数 -------------------------- */

    const pageParameter_state = reactive({
        'processInstanceId': props.processInstanceId ?? route.query.processInstanceId
    })

    /* ========================== 页面参数 ========================== */

    /* -------------------------- 组件事件处理方法 -------------------------- */

    // ---------------------------- 组件数据同步 ----------------------------
    // 处理 这里是项目阶段 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.milepostName,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.milepostName

            vid_io6lji4vq4_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 这里是项目名称 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_m45gnsk0hr_response?.value?.data?.projectName,
        () => {
            let dataList = dataConnector_conn_m45gnsk0hr_response?.value?.data?.projectName

            vid_8o2vce0kw8_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 提交附件 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.approvalType,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.approvalType

            vid_8ce19j1ydg_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 未启动 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskStatus,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskStatus

            vid_qp4k4d9gl3_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 这里是任务名称 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskName,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskName

            vid_b6yjigkl3q_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 高 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.priorityStr,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.priorityStr

            vid_sncshfitvt_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 文本 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskType,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskType

            vid_hp95j8xrxn_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 26 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.workingHours,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.workingHours

            vid_p0hyrkkmw7_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 28 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.actualWorkHours,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.actualWorkHours

            vid_urjvtoj54u_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 超出 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.stateInput,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.stateInput

            vid_sv3wlynl7n_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 张珊珊 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskOwner,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskOwner

            vid_pazokhx20e_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 张珊珊 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.assessorName,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.assessorName

            vid_whsekrxwsy_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 好多人 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskParticipantStr,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskParticipantStr

            vid_vonhq9nbvm_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 01-12 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.startTime,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.startTime

            vid_gz4ovawl99_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 01-13 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.actualStarTime,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.actualStarTime

            vid_ss7wuj4d4s_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 简单文本_e4719q3gr8 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.endTime,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.endTime

            vid_4yzl296aw0_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 文本 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskFinishTime,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskFinishTime

            vid_82uba3n8hd_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 简单文本_t6c9u0zvr4 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.submitter,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.submitter

            vid_7kscouc6mw_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 简单文本_4607cj20ae 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.submitterTime,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.submitterTime

            vid_jhcugt0qbz_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 简单文本_lmlq9g8q7o 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.acceptanceCriteria,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.acceptanceCriteria

            vid_jv7cgcwchk_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 简单文本_7z66pifebz 的 rt_text 属性关联
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.description,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.description

            vid_qi1mlh4c5x_props.rt_text = dataList
        },
        { deep: true }
    )
    // 处理 复选框组_g3r9ydno1l 的 systemList 属性关联
    watch(
        () => dataConnector_conn_80alhkvp89_response?.value?.data,
        () => {
            let dataList = dataConnector_conn_80alhkvp89_response?.value?.data

            vid_333gqeduh5_options_raw.value = dataList
        },
        { deep: true }
    )
    // 处理 复选框组_tx35eysktf 的 systemList 属性关联
    watch(
        () => dataConnector_conn_35sdq6sf6y_response?.value?.data,
        () => {
            let dataList = dataConnector_conn_35sdq6sf6y_response?.value?.data

            vid_6o7ft9gcxr_options_raw.value = dataList
        },
        { deep: true }
    )
    // 处理 复选框组_96an3mm9rf 的 systemList 属性关联
    watch(
        () => dataConnector_conn_xaeuhbh32o_response?.value?.data,
        () => {
            let dataList = dataConnector_conn_xaeuhbh32o_response?.value?.data

            vid_h3noefhyqx_options_raw.value = dataList
        },
        { deep: true }
    )
    // ============================ 组件数据同步 ============================

    /**
     * 处理元素 复选框组 的 change 事件
     */
    let handle_vid_333gqeduh5_change = throttle(async (...params) => {
        const [checkedValue] = params
        vid_333gqeduh5_props.selected.label = checkedValue.map(
            val => vid_333gqeduh5_options.value().find(item => item.value === val).label
        )
        vid_333gqeduh5_props.selected.value = checkedValue
        vid_333gqeduh5_props.selected.option = checkedValue.map(val =>
            vid_333gqeduh5_options.value().find(item => item.value === val)
        )
    }, 500)
    /**
     * 处理元素 复选框组 的 change 事件
     */
    let handle_vid_6o7ft9gcxr_change = throttle(async (...params) => {
        const [checkedValue] = params
        vid_6o7ft9gcxr_props.selected.label = checkedValue.map(
            val => vid_6o7ft9gcxr_options.value().find(item => item.value === val).label
        )
        vid_6o7ft9gcxr_props.selected.value = checkedValue
        vid_6o7ft9gcxr_props.selected.option = checkedValue.map(val =>
            vid_6o7ft9gcxr_options.value().find(item => item.value === val)
        )
    }, 500)
    /**
     * 处理元素 复选框组 的 change 事件
     */
    let handle_vid_h3noefhyqx_change = throttle(async (...params) => {
        const [checkedValue] = params
        vid_h3noefhyqx_props.selected.label = checkedValue.map(
            val => vid_h3noefhyqx_options.value().find(item => item.value === val).label
        )
        vid_h3noefhyqx_props.selected.value = checkedValue
        vid_h3noefhyqx_props.selected.option = checkedValue.map(val =>
            vid_h3noefhyqx_options.value().find(item => item.value === val)
        )
    }, 500)
    /**
     * 处理元素 按钮 的 click 事件
     */
    let handle_vid_kg9cu3s4qe_click = throttle(async (...params) => {
        customFunction_qr69mxj1rx()
    }, 500)
    /* ========================== 组件事件处理方法 ========================== */

    /* -------------------------- 生命周期 -------------------------- */
    // 用于参数变更后重新执行自定义指令
    const queryUpdateFlag = ref(0)
    onMounted(() => {
        dataConnector_conn_m45gnsk0hr()
        dataConnector_conn_rtucp29zln()
        dataConnector_conn_trnrlsqdxj()
        dataConnector_conn_80alhkvp89()
        dataConnector_conn_35sdq6sf6y()
        dataConnector_conn_xaeuhbh32o()
    })

    onUnmounted(() => {
        // 销毁定时器
        setTimeOutList.forEach(({ repeat, timer }) => {
            repeat ? clearInterval(timer) : clearTimeout(timer)
        })
    })

    /* ========================== 生命周期 ========================== */

    /* -------------------------- 数据关联处理 -------------------------- */

    // 处理 无附件模板文件 全局消息
    immediateWatch(
        () => vid_2h3lae4re9_props.show,
        () => {
            if (vid_2h3lae4re9_props.show) {
                message[vid_2h3lae4re9_props.type](vid_2h3lae4re9_props.content, vid_2h3lae4re9_props.duration, () => {
                    vid_2h3lae4re9_props.show = false
                })
            }
        }
    )
    // 处理 正在下载，请稍后 全局消息
    immediateWatch(
        () => vid_2on5d3ofsy_props.show,
        () => {
            if (vid_2on5d3ofsy_props.show) {
                message[vid_2on5d3ofsy_props.type](vid_2on5d3ofsy_props.content, vid_2on5d3ofsy_props.duration, () => {
                    vid_2on5d3ofsy_props.show = false
                })
            }
        }
    )

    /* -------------------------- 表单数据同步 -------------------------- */
    /* ========================== 表单数据同步 ========================== */

    /* ========================== 数据关联处理 ========================== */

    /* -------------------------- 不同组件自定义的处理逻辑 -------------------------- */

    /* ========================== 不同组件自定义的处理逻辑 ========================== */

    // ================================定制化逻辑========================================
    // 完成标准选中赋值
    watch(
        () => dataConnector_conn_80alhkvp89_response?.value?.data,
        () => {
            q_iaed61pve1.z_vnusptgo4k = []
            dataConnector_conn_80alhkvp89_response?.value?.data.map(item => {
                if (item.selected) {
                    q_iaed61pve1.z_vnusptgo4k.push(item.id)
                }
            })
        },
        { deep: true }
    )

    // sop选中复制
    watch(
        () => dataConnector_conn_xaeuhbh32o_response?.value?.data,
        () => {
            q_iaed61pve1.z_smqd6ov9cq = []
            dataConnector_conn_xaeuhbh32o_response?.value?.data.map(item => {
                if (item.selected) {
                    q_iaed61pve1.z_smqd6ov9cq.push(item.id)
                }
            })
        },
        { deep: true }
    )
    // 审核标准选中赋值
    watch(
        () => dataConnector_conn_qqfu8de3jn_response?.value?.data,
        () => {
            q_iaed61pve1.u_ioa0puvetx = []
            dataConnector_conn_qqfu8de3jn_response?.value?.data.map(item => {
                if (item.selected) {
                    q_iaed61pve1.u_ioa0puvetx.push(item.id)
                }
            })
        },
        { deep: true }
    )

    const ppmEnclosureInfoList = ref([])
    const taskId = ref(undefined)

    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.ppmEnclosureInfoList,
        () => {
            ppmEnclosureInfoList.value =
                dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.ppmEnclosureInfoList
        },
        { deep: true }
    )
    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskId,
        () => {
            taskId.value = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskId
        },
        { deep: true }
    )
    pageLoading.tip = '正在下载请稍后...'

    // 图片预览

    const stateF = reactive({
        previewVisible: false,
        previewImage: '',
        previewFileUrl: '',
        isImagePreview: false
    })

    function previewAttachment(item) {
        // 检查附件类型
        if (item.type.startsWith('image')) {
            stateF.isImagePreview = true
            stateF.previewImage = item.url // 设置预览图片的URL
            stateF.previewVisible = true // 显示模态框
        } else {
            // stateF.isImagePreview = false;
            // // 如果是其他类型的文件，直接在模态框中显示
            // stateF.previewFileUrl = item.url; // 设置预览文件的URL
            message.info('目前仅支持图片预览')
        }
    }

    function handlerDownload({ url, name }) {
        pageLoading.loading = true

        function downBlob(blob) {
            const downloadElement = document.createElement('a')
            const href = window.URL.createObjectURL(blob) // 创建下载的链接
            downloadElement.href = href
            downloadElement.download = name // 下载后文件名
            document.body.appendChild(downloadElement)
            downloadElement.click() // 点击下载
            document.body.removeChild(downloadElement) // 下载完成移除元素
            window.URL.revokeObjectURL(href)
        }

        const data = new FormData()
        data.append('path', url)
        post('/solution-ppm/api/v2/built-in-system-ppm/delivery_task/downloadFile', data, {
            responseType: 'blob',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            }
        })
            .then(blob => {
                downBlob(blob)
            })
            .finally(() => {
                pageLoading.loading = false
            })
    }

    function downLoadTemplate() {
        pageLoading.loading = true
        post(`/solution-ppm/api/v2/built-in-system-ppm/delivery_task/download_template/${taskId.value}`, null, {
            responseType: 'arraybuffer'
        })
            .then(res => {
                downloadZip(res, '任务附件模板.zip')
            })
            .finally(() => {
                pageLoading.loading = false
            })
    }

    function downloadZip(response, name) {
        const blob = new Blob([response], { type: 'application/zip;charset=utf-8' })
        const downloadElement = document.createElement('a')
        const href = window.URL.createObjectURL(blob)
        downloadElement.href = href
        downloadElement.download = name // 下载后文件名
        document.body.appendChild(downloadElement)
        downloadElement.click()
        document.body.removeChild(downloadElement)
        window.URL.revokeObjectURL(href)
        return href
    }

    watch(
        () => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskStatus,
        () => {
            let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskStatus

            //
            let text = document.querySelector('.vid_qp4k4d9gl3')
            if (dataList === '完成') {
                text.style.color = '#30BF78'
            } else if (dataList === '延期') {
                text.style.color = '#E02020'
            } else if (dataList === '进行中') {
                text.style.color = '#3875FF'
            } else if (dataList === '延期完成') {
                text.style.color = '#FF9846'
            } else if (dataList === '未启动') {
                text.style.color = '#8C8C8C'
            }
            //
        },
        { deep: true }
    )
</script>
<style lang="less" scoped>
    .page_root {
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: #f5f5f5;
    }

    .page_root :deep(.@{ant-prefix}-spin-nested-loading),
    .page_root :deep(.@{ant-prefix}-spin-container) {
        height: 100%;
    }

    .page_root :deep(.@{ant-prefix}-spin-container .@{ant-prefix}-table-wrapper) {
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
    }

    .page_root :deep(.@{ant-prefix}-table) {
        flex: auto;
        overflow: auto;
    }

    .table-moreBtn_down {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        width: 100px;
    }

    .table-moreBtn_menu :deep(.table-moreBtn_menu-item):hover {
        background: #ebf1ff;
    }

    /*  表格树结构样式处理，展开按钮层级增加*/
    :deep(.@{ant-prefix}-table-row-expand-icon) {
        z-index: 1;
    }

    /*  表格树结构 由于每个表格项采用自定义组件，使用绝对定位布局，开启树结构导致显示异常，暂时使用层级定位位置 */
    :deep(.@{ant-prefix}-table-row-level-1 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
        left: 15px !important;
        width: calc(100% - 15px);
    }

    :deep(.@{ant-prefix}-table-row-level-2 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
        left: 30px !important;
        width: calc(100% - 30px);
    }

    :deep(.@{ant-prefix}-table-row-level-3 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
        left: 45px !important;
        width: calc(100% - 45px);
    }

    :deep(.@{ant-prefix}-table-row-level-4 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
        left: 60px !important;
        width: calc(100% - 60px);
    }

    /* 穿梭框改变默认样式，为根据组件样式控制左右栏宽度。 */
    :deep(.@{ant-prefix}-transfer-list) {
        height: 100%;
        width: 50%;
    }

    .vid_a66h2jgxek {
        overflow-y: auto;
        display: block;
        box-shadow: 0px 0px 0px 0px;
    }

    .vid_oupkm1qcq4 {
        width: 100%;
        display: flex;
        flex-direction: column;
        flex-wrap: undefined;
        margin-bottom: 16px;
        padding-top: 16px;
        padding-right: 24px;
        padding-bottom: 16px;
        padding-left: 24px;
        background-color: #ffffff;
    }

    .vid_qda7xszz78 {
        margin-bottom: 16px;
        background-color: #ffffff;
    }

    .vid_sfilmvv65x {
        padding-left: 8px;
        font-weight: 800;
        font-size: 18px;
        line-height: 18px;
        border-left-style: solid;
        border-left-width: 4px;
        border-left-color: #3875ff;
    }

    .vid_sdigc5dmak {
        background-color: #ffffff;
    }

    .vid_cjcrgsebb6 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_io6lji4vq4 {
        font-weight: 500;
    }

    .vid_1js5v2r9t0 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        box-shadow: 0px 0px 0px 0px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_tv8o9xz8w7 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_8o2vce0kw8 {
        font-weight: 500;
    }

    .vid_zf84t1z0ou {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_lo5a0q3ej2 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_8ce19j1ydg {
        font-weight: 500;
    }

    .vid_0jjjn9opn0 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_sc7a8r4209 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_qp4k4d9gl3 {
        font-weight: 500;
    }

    .vid_0cbieojnyv {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_uh026olt73 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_b6yjigkl3q {
        font-weight: 500;
    }

    .vid_e2okkmgl3t {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        box-shadow: 0px 0px 0px 0px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_1bxdl9ja36 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_fa1rlwklge {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_sncshfitvt {
        font-weight: 500;
    }

    .vid_xh3mjnc6ma {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_hqn5xh09sk {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_hp95j8xrxn {
        font-weight: 500;
    }

    .vid_8r3seec86v {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_f42tcbiz7z {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_p0hyrkkmw7 {
        font-weight: 500;
    }

    .vid_42rm5m8dvp {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: rgba(250, 250, 250, 1);
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_q7bhples4k {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_urjvtoj54u {
        font-weight: 500;
    }

    .vid_7tn99inu2t {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: rgba(250, 250, 250, 1);
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_uab1om86ks {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_sv3wlynl7n {
        font-weight: 500;
    }

    .vid_nmu3lxdncr {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: rgba(250, 250, 250, 1);
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_k6tmrw6knj {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_pazokhx20e {
        font-weight: 500;
    }

    .vid_vxquccvrfm {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: rgba(250, 250, 250, 1);
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_on8s9oqwha {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_whsekrxwsy {
        font-weight: 500;
    }

    .vid_tsi57xp757 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: rgba(250, 250, 250, 1);
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_butebueazf {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_vonhq9nbvm {
        font-weight: 500;
    }

    .vid_ql98fm1bch {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_pth36dg27v {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_gz4ovawl99 {
        font-weight: 500;
    }

    .vid_v8igdcnuxn {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: rgba(250, 250, 250, 1);
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_yti85za95s {
        box-shadow: 0px 0px 0px 0px;
    }

    .vid_ohtbk6h975 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_ss7wuj4d4s {
        font-weight: 500;
    }

    .vid_c686s4arta {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_2b0j1stypp {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_4yzl296aw0 {
        font-weight: 500;
    }

    .vid_84pot5voos {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_k1bmqs6ds3 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_82uba3n8hd {
        font-weight: 500;
    }

    .vid_wfy8y7pwfx {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_adz2stpt23 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_7kscouc6mw {
        font-weight: 500;
    }

    .vid_kzw449s7qx {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_0w1u73xif8 {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: undefined;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_jhcugt0qbz {
        font-weight: 500;
    }

    .vid_n68vhhcd63 {
        height: 56px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_gqqk2a2eta {
        font-family: arial, helvetica, 'microsoft yahei';
        font-weight: 400;
        color: rgba(89, 89, 89, 1);
    }

    .vid_jhzhk0vh9s {
        height: 56px;
        overflow-x: auto;
        overflow-y: auto;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding-top: 8px;
        padding-bottom: 8px;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_jv7cgcwchk {
        font-weight: 500;
    }

    .vid_gq2pe9d4u9 {
        height: 64px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: undefined;
        padding-right: 8px;
        background-color: #fafafa;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_yfajotznpx {
        height: 64px;
        overflow-x: auto;
        overflow-y: auto;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding-top: 8px;
        padding-bottom: 8px;
        padding-left: 8px;
        border-style: solid;
        border-width: 1px;
        border-color: #d9d9d9;
    }

    .vid_qi1mlh4c5x {
        font-weight: 500;
    }

    .vid_5amjfig1pl {
        width: 100%;
        box-shadow: 0px 0px 0px 0px;
    }

    .vid_b1hp2z2pjq {
        overflow-x: hidden;
        overflow-y: auto;
        display: block;
        margin-bottom: 16px;
        padding-top: 16px;
        padding-right: 24px;
        padding-bottom: 16px;
        padding-left: 24px;
        background-color: #ffffff;
    }

    .vid_6k45k29qc4 {
        width: 100%;
        margin-bottom: 16px;
        background-color: #ffffff;
    }

    .vid_kgvx07500o {
        padding-left: 8px;
        font-weight: 600;
        font-size: 18px;
        line-height: 16px;
        border-left-style: solid;
        border-left-width: 4px;
        border-left-color: #3875ff;
    }

    .vid_anayzmd7k5 {
        display: block;
    }

    .vid_plvu6gqeyc {
        box-shadow: 0px 0px 0px 0px;
    }

    .vid_zorku0c8c0 {
        height: 180px;
        display: block;
        border-right-style: solid;
        border-right-width: 1px;
        border-right-color: #ebebeb;
    }

    .vid_t58d3e2pyj {
        display: block;
        margin-bottom: 0px;
    }

    .vid_eky2hmq95p {
        overflow-y: auto;
        box-shadow: 0px 0px 0px 0px;
    }

    .vid_333gqeduh5 :deep(span) {
        text-decoration: undefined;
        font-size: undefined;
        color: undefined;
    }

    .vid_333gqeduh5 {
        padding-right: 24px;
    }

    .vid_vjjzav7qmg {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        flex-wrap: undefined;
        box-shadow: 0px 0px 0px 0px;
    }

    .vid_ga6p8vnldi {
        color: rgba(56, 117, 255, 1);
    }

    .vid_ybvno7hci3 {
        margin-bottom: 8px;
        font-weight: 500;
        color: rgba(89, 89, 89, 1);
        font-size: 15px;
    }

    .vid_ehoh8pt2lb {
        height: 180px;
        display: block;
        border-right-style: solid;
        border-right-width: 1px;
        border-right-color: #ebebeb;
    }

    .vid_6rwtheqpnk {
        display: block;
        margin-bottom: 0px;
    }

    .vid_8kzfsf2lhu {
        overflow-y: auto;
    }

    .vid_6o7ft9gcxr :deep(span) {
        text-decoration: undefined;
        font-size: undefined;
        color: undefined;
    }

    .vid_6o7ft9gcxr {
        display: flex;
        flex-direction: column;
        flex-wrap: undefined;
        padding-right: 24px;
        box-shadow: 0px 0px 0px 0px;
    }

    .vid_asrcjumn8g {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        flex-wrap: undefined;
        box-shadow: 0px 0px 0px 0px;
    }

    .vid_dgd23jscdw {
        color: rgba(56, 117, 255, 1);
    }

    .vid_shrfl8uqye {
        margin-bottom: 8px;
        font-weight: 500;
        color: rgba(89, 89, 89, 1);
        font-size: 15px;
    }

    .vid_mq9f1g648m {
        height: 180px;
        display: flex;
        flex-direction: column;
        flex-wrap: undefined;
    }

    .vid_vutt5on3s9 {
        display: block;
        margin-bottom: 0px;
    }

    .vid_h3noefhyqx :deep(span) {
        text-decoration: undefined;
        font-size: undefined;
        color: undefined;
    }

    .vid_h3noefhyqx {
        display: flex;
        flex-direction: column;
        flex-wrap: undefined;
        box-shadow: 0px 0px 0px 0px;
    }

    .vid_30pa4jvpiw {
        height: 100%;
        display: flex;
        align-items: flex-start;
        flex-wrap: undefined;
    }

    .vid_t13sdk1z88 {
        color: rgba(56, 117, 255, 1);
    }

    .vid_jsqzlgxfsi {
        margin-bottom: 8px;
        font-weight: 500;
        color: rgba(89, 89, 89, 1);
        font-size: 15px;
    }

    .vid_z5ekmc27yn {
        display: block;
        padding-top: 16px;
        padding-right: 24px;
        padding-bottom: 16px;
        padding-left: 24px;
        background-color: #ffffff;
    }

    .vid_kek9mcs93b {
        display: block;
        background-color: rgba(255, 255, 255, 1);
    }

    .vid_zookdp4ax8 {
        display: flex;
        align-items: center;
        flex-wrap: undefined;
        margin-bottom: 16px;
        box-shadow: 0px 0px 0px 0px;
    }

    .vid_fty1g7gff7 {
        padding-left: 8px;
        font-weight: 600;
        font-size: 18px;
        line-height: 16px;
        border-left-style: solid;
        border-left-width: 4px;
        border-left-color: #3875ff;
    }

    .vid_hvzoqo0daw {
        display: flex;
        justify-content: flex-end;
        flex-wrap: undefined;
    }

    .vid_kg9cu3s4qe {
        background-color: #3875ff;
        box-shadow: 0px 0px 0px 0px;
        border-style: solid;
        border-width: 1px;
        border-color: #3875ff;
    }

    .vid_haox36kylx {
        height: 165px;
        display: flex;
        flex-direction: column;
        flex-wrap: undefined;
        box-shadow: 0px 0px 0px 0px;
    }

    :deep(.@{ant-prefix}-table-empty .@{ant-prefix}-table-tbody tr > td) {
        padding: 0;
    }

    /deep/ .ant3-checkbox-group-item + .ant3-checkbox-group-item span {
        color: #595959 !important;
    }

    /deep/ .ant3-checkbox-wrapper.ant3-checkbox-wrapper-disabled span {
        color: #595959 !important;
    }

    .file-item {
        display: flex;
        width: 100%;
    }

    .file-name {
        width: 75%;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        margin-top: 3px;
    }

    .file-time,
    .file-preview,
    .file-download {
        width: 10%;
        text-align: center;
        cursor: pointer;
    }

    .file-preview,
    .file-download {
        color: #3875ff;
    }

    .file-main {
        width: 100%;
        overflow-y: scroll;
    }
</style>
